Maintaining Liveness in a Spreadsheet with Logic Programming
نویسنده
چکیده
Spreadsheets are among the most widely used programming tools, having been adopted almost universally for computing and tabulating financial information. They were not designed for use in strategic applications, however, since they lack all but the most rudimentary programming support, and are highly likely to contain errors. In L-sheets, a recently proposed extension to spreadsheets, the standard data flow computational model is augmented with a form of visual logic programming in which term unification is replaced by array unification, providing both improved programmability and a means to specify the high-level structure of sheets. One of the most important properties of spreadsheets is “level 3 liveness”, the immediate recomputation of those cells in a sheet affected by an editing change. This is simple to achieve with data flow computation, but is complicated by the addition of logic programming. Here we address the problem of maintaining liveness in L-sheets.
منابع مشابه
CONTRAST: Computing Tradeoffs among Normative Multiagent System Specifications
We propose CONTRAST, a formal framework for comparing normative multiagent system (nMAS) specifications by computing tradeoffs among liveness (something good happens) and safety (nothing bad happens). Safety-focused specifications restrict agents’ actions to avoid undesired executions. However, such restrictions hinder liveness, particularly in situations such as medical emergencies. Moreover, ...
متن کاملSpreadsheet Structure Discovery with Logic Programming
Our term "structure discovery" denotes the recovery of structure, such as the grouping of cells, that was intended by a spreadsheet’s author but is not explicit in the spreadsheet. We are implementing structurediscovery tools in the logic-programming language Prolog for our spreadsheet analysis program Model Master, by writing grammars for spreadsheet structures. The objective is an "intelligen...
متن کاملLive-Structure Analysis for Logic Programming Languages with Declarations
Live-structure analysis addresses the problem of memory reuse for logic programs through program analysis rather than by run-time garbage collection. The present paper focuses on pure logic programs with declarations of modes, types, and determinism. The analysis is based on previous work for pure Prolog but introduces important innovations. First, the liveness analysis is extended to consider ...
متن کاملReasoning about agent execution strategies (Short Paper)
We present a logic for reasoning about properties of agent programs under different agent execution strategies. Using the agent programming language SimpleAPL as an example, we show how safety and liveness properties can be expressed by translating agent programs into expressions of the logic. We give sound and complete axiomatizations of two different program execution strategies for SimpleAPL...
متن کاملUsing theorem proving to verify properties of agent programs
We present a sound and complete logic for automatic verification of SimpleAPL programs. SimpleAPL is a fragment of agent programming languages such as 3APL and 2APL designed for the implementation of cognitive agents with beliefs, goals and plans. Our logic is a variant of PDL, and allows the specification of safety and liveness properties of agent programs. We prove a correspondence between th...
متن کامل